package example.set;

import entity.Person;

import java.util.Set;
import java.util.TreeSet;

/**
 * 二叉（红黑）树
 * 1.添加的元素必须是同一个类的
 * 2.可以按照元素指定的顺序遍历 String从小到大，没有实现Comparable接口，新增对象异常
 * 3.自定义类对象自然排序：实现Comparable接口，自行根据属性排序；
 * 4.新增元素，首先通过compareTo进行比较，一旦返回0，就会被认为是同一对象，后添加的无法成功
 */
public class TreeSetTest {
    public static void main(String[] args) {
        Set<String> set = new TreeSet<>();
        set.add("C");
        set.add("F");
        set.add("A");
        set.add("Z");
        set.add("T");
        for (String s : set) {
            System.out.println(s);
        }

        Set<Person> persions = new TreeSet<>();
        persions.add(new Person(12, "aa"));
        persions.add(new Person(8, "bb"));
        persions.add(new Person(80, "cc"));
        persions.add(new Person(17, "dd"));
        persions.add(new Person(5, "ee"));
        persions.add(new Person(22, "ff"));
        persions.add(new Person(22, "jj"));

        for (Person obj : persions) {
            System.out.println(obj);
        }
    }
}



